// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.google.zxing.qrcode.decoder; // Referenced classes of package com.google.zxing.qrcode.decoder: // ErrorCorrectionLevel final class n { private static final int a = 21522; private static final int b[][] = { { 21522, 0 }, { 20773, 1 }, { 24188, 2 }, { 23371, 3 }, { 17913, 4 }, { 16590, 5 }, { 20375, 6 }, { 19104, 7 }, { 30660, 8 }, { 29427, 9 }, { 32170, 10 }, { 30877, 11 }, { 26159, 12 }, { 25368, 13 }, { 27713, 14 }, { 26998, 15 }, { 5769, 16 }, { 5054, 17 }, { 7399, 18 }, { 6608, 19 }, { 1890, 20 }, { 597, 21 }, { 3340, 22 }, { 2107, 23 }, { 13663, 24 }, { 12392, 25 }, { 16177, 26 }, { 14854, 27 }, { 9396, 28 }, { 8579, 29 }, { 11994, 30 }, { 11245, 31 } }; private static final int c[] = { 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4 }; private final ErrorCorrectionLevel d; private final byte e; private n(int i) { d = ErrorCorrectionLevel.forBits(3 & i >> 3); e = (byte)(i & 7); } static int a(int i, int j) { int k = i ^ j; return c[k & 0xf] + c[0xf & k >>> 4] + c[0xf & k >>> 8] + c[0xf & k >>> 12] + c[0xf & k >>> 16] + c[0xf & k >>> 20] + c[0xf & k >>> 24] + c[0xf & k >>> 28]; } static n b(int i, int j) { n n1 = c(i, j); if (n1 != null) { return n1; } else { return c(i ^ 0x5412, j ^ 0x5412); } } private static n c(int i, int j) { int k; int ai[][]; int l; int i1; int j1; k = 0x7fffffff; ai = b; l = ai.length; i1 = 0; j1 = 0; _L2: if (i1 >= l) { break; /* Loop/switch isn't completed */ } int ai1[] = ai[i1]; int k1 = ai1[0]; if (k1 == i || k1 == j) { return new n(ai1[1]); } int l1 = a(i, k1); int i2; int j2; int k2; if (l1 < k) { i2 = ai1[1]; } else { l1 = k; i2 = j1; } if (i == j) { break MISSING_BLOCK_LABEL_140; } j2 = a(j, k1); if (j2 >= l1) { break MISSING_BLOCK_LABEL_140; } i2 = ai1[1]; _L3: i1++; k2 = i2; k = j2; j1 = k2; if (true) goto _L2; else goto _L1 _L1: if (k <= 3) { return new n(j1); } else { return null; } j2 = l1; goto _L3 } ErrorCorrectionLevel a() { return d; } byte b() { return e; } public boolean equals(Object obj) { n n1; if (obj instanceof n) { if (d == (n1 = (n)obj).d && e == n1.e) { return true; } } return false; } public int hashCode() { return d.ordinal() << 3 | e; } }